package randx

import (
	"math/rand"
)

// ChoiceOne 在 arr 中随机选择一个元素
func ChoiceOne[T any](arr []T) T {
	index := rand.Intn(len(arr))
	return arr[index]
}

// ChoiceOnes 在 arr 中随机选择多个元素
func ChoiceOnes[T any](arr []T, num int) []T {
	newSlice := make([]T, len(arr))
	copy(newSlice, arr)
	Shuffle(newSlice)
	return newSlice[:num]
}
